<template>
  <div class="wrap-container triangle">
    <div class="title">技能等级</div>
    <div class="select">
      <el-select v-model="selectItem" placeholder="选择任务">
        <el-option v-for="item in periodList" :key="item" :label="item" :value="item">
        </el-option>
      </el-select>
    </div>
    <div class="catalog">
      <div v-for="(item, i) in allCatArr" :key="i" :class="`arr${i}`">
        <div class="cat-type">{{ item.name }}：</div>
        <div class="stu-names">
          <div class="item" v-for="(el, k) in item.catArr" :key="k">
            <el-button type="text" @click="viewDetail(el)" style="text-decoration: underline">
              {{ el.name }}</el-button>
          </div>
        </div>
      </div>
    </div>
    <div class="back_img3"></div>
    <div class="back_img"></div>
    <div class="back_img1"></div>
    <div class="back_img2"></div>
    <ul :class="{
        second: index == 1,
        third: index == 2,
        four: index == 3,
      }" v-for="(item, index) in arrData" :key="`key` + index">
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
    <el-dialog :title="`学生个人成绩`" :append-to-body="true" :visible.sync="showDialog" :before-close="closeDialog"
      width="75%" :center="true" :fullscreen="false">
      <div class="container-t">
        <studentScore v-if="showDialog" class="student-score" :allData="allData" :currentStudent="currStu"
          :dictData="dictData" />
      </div>
      <div slot="footer" class="dialog-footer">
        <el-button @click="closeDialog">关 闭</el-button>
      </div>
    </el-dialog>
  </div>
</template>

<script>
import Cookies from "js-cookie";
import * as echarts from "echarts";
import { getText } from "./../common.js";
import { getStudent } from "@/api/stuInfo";
import studentScore from "@/components/bizCompNew/studentScore";

export default {
  name: "classOverallEval",
  components: {
    studentScore,
  },
  props: {
    allData: {
      type: Array,
      default() {
        return [];
      },
    },
    dictData: {
      type: Array,
      default() {
        return [];
      },
    },
    currentStudent: {
      type: Object,
      default() {
        return {};
      },
    },
  },
  data() {
    return {
      option: null,
      arrData: [1, 2, 3, 4],
      color: ["#45fed4", "#84a9ef", "#f1e04f", "#dbfe73", "#84a9ef"],
      totalNum: [],
      sum: 0,
      periodList: [],
      selectItem: "",
      num: 0,
      timer: null,
      chartData: [],
      number: null,
      arr: [],
      dataScore: [],
      allCatArr: [],
      showDialog: false,
      currStu: {},
    };
  },
  computed: {
    isAdmin() {
      const username = Cookies.get("username");
      return username === "admin";
    },
  },
  watch: {
    allData: {
      handler(val) {
        if (val) {
          val.length && this.getData();
        }
      },
      deep: true,
    },
    selectItem: {
      handler(val) {
        if (val) {
          this.getEchart();
        }
      },
      deep: true,
    },
  },
  mounted() { },
  methods: {
    viewDetail(el) {
      this.currStu = el;
      getStudent(el.stuId).then((res) => {
        const stu = res.data ? res.data : {};
        Object.assign(this.currStu, stu);
        this.showDialog = true;
      });
    },
    closeDialog() {
      this.showDialog = false;
    },
    getData() {
      const list = this.allData.filter((el) => el.scoreType === "1" && 
          el.stuName === this.currentStudent.stuName);
      this.chartData = list;
      if (list.length > 0) {
        this.xAxiosNames = list.map((el) => el.period);
        const temp = [];
        list
          .map((el) => el.period)
          .forEach((el) => {
            if (!temp.includes(el)) {
              temp.push(el);
            }
          });
        this.periodList = temp.sort((a, b)=> a.localeCompare(b, 'zh')); //a~z 排序  
        this.selectItem = this.periodList[0];
      }
      // this.initData();
    },
    initData() {
      this.num = 0;
      // this.timer = setInterval(() => {
      //   this.switchItem();
      // }, 3000);
      this.switchItem();
    },
    switchItem() {
      this.num += 1;
      if (this.num > this.periodList.length - 1) {
        this.num = 0;
      }
      const period = this.periodList[this.num];
      this.selectItem = period;
      // this.getEchart();
    },

    formatData() {
      const filterData = this.allData.filter(
        (el) => el.scoreType === "1" && this.selectItem === el.period
      );

      this.dataScore = filterData.map((el) => {
        const sObj = {
          score0: 0,
          score1: 0,
          score2: 0,
          score: 0,
        };
        const tempScore = el.score.split(";");
        tempScore.forEach((s, i) => {
          s.split(",").forEach((k) => {
            sObj[`score${i}`] += Number(k);
          });
        });
        const { score0, score1, score2 } = sObj;
        sObj.score = ((score0 + score1 + score2) / 1.5).toFixed(1);
        sObj.name = el.stuName;
        sObj.stuId = el.stuId;
        sObj.period = el.period;
        sObj.catalogName = getText(sObj.score);
        return sObj;
      });

      this.allCatArr = [
        {
          id: 0,
          name: "精匠",
          catArr: [],
          num: 0,
          color: "yellow",
        },
        {
          id: 1,
          name: "巧匠",
          catArr: [],
          num: 0,
          color: "green",
        },
        {
          id: 2,
          name: "能匠",
          catArr: [],
          num: 0,
          color: "pink",
        },
      ];

      const tempArr = [];
      if (this.dataScore.length) {
        this.dataScore.forEach((el) => {
          this.allCatArr.forEach((item) => {
            if (item.name === el.catalogName) {
              const fItme = item.catArr.find((f) => f.period === el.period);
              if (!fItme || fItme.name !== el.name) {
                if (!tempArr.includes(el.name)) {
                  tempArr.push(el.name);
                  item.catArr.push(el);
                  item.num += 1;
                }
              }
            }
          });
        });
      }
      if (filterData.length) {
        this.selectItem = filterData[0].period;
      }
    },
    getEchart() {
      this.formatData();
      // eslint-disable-next-line no-undef
      let myChart = echarts.init(document.getElementById("classInfo")); // 图标初始化
      const itemData = this.allCatArr.map((el) => {
        return {
          value: el.num,
          name: el.name,
          itemStyle: {
            color: el.color,
          },
        };
      });
      if (!this.dataScore.length) {
        myChart.dispose();
        return;
      }
      const option = {
        grid: {
          top: "6%",
        },
        tooltip: {
          trigger: "item",
          formatter: function (data) {
            let message = data.name + "<br/>";
            const value = data.value;
            return `${message}${value}(人)`;
          },
        },
        title: {
          text: "",
          subtext: "",
          left: "center",
        },
        legend: {
          orient: "vertical",
          left: "left",
          textStyle: {
            //图例文字的样式
            color: "#fff",
            fontSize: 16,
          },
        },
        series: [
          {
            name: "",
            type: "pie",
            radius: "60%",
            label: {
              fontSize: 18,
              formatter: (params) => {
                return `${params.name}(${params.value}人)`;
              },
            },
            center: ["30%", "50%"],
            data: itemData,
            emphasis: {
              itemStyle: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: "rgba(0, 0, 0, 0.5)",
              },
            },
          },
        ],
      };
      myChart.setOption(option, true);
      window.addEventListener("resize", () => {
        myChart.resize();
      });
    },
  },
  beforeDestroy() {
    clearTimeout(this.timer);
  },
};
</script>

<style lang="scss" scoped>
.title {
  position: absolute;
  height: 26px;
  font-size: 24px;
  color: #00c2ff;
  line-height: 26px;
  padding: 0 0 0 20px;
  left: 10px;
  right: 10px;
  top: 10px;
}

.triangle {
  left: 600px;
  top: 120px;
  width: 720px;
  height: 500px;

  .back_img {
    position: absolute;
    top: 195px;
    width: 100%;
    height: 300px;
    background: url(~@/assets/img/chart2/icon_db02.png) no-repeat center;
    transform: rotateX(0deg);
    background-size: 80% 84%;
  }

  .back_img1 {
    position: absolute;
    left: 0;
    top: 18%;
    width: 100%;
    height: 100%;
    background: url(~@/assets/img/chart2/icon_db03.png) no-repeat center;
    transform: rotateX(65deg);
    background-size: 62%;
    animation: trigle_move 10s linear infinite;
    -webkit-animation: trigle_move 10s linear infinite;
  }

  .back_img2 {
    position: absolute;
    top: 190px;
    width: 100%;
    height: 300px;
    background: url(~@/assets/img/chart2/icon_db04.png) no-repeat center;
    transform: rotateX(66deg);
    background-size: 39%;
    animation: trigle_move1 10s linear infinite;
    -webkit-animation: trigle_move1 10s linear infinite;
  }

  .back_img3 {
    position: absolute;
    top: 247px;
    width: 100%;
    height: 300px;
    background: url(~@/assets/img/chart2/icon_db01.png) no-repeat center;
    transform: rotateX(50deg);
    background-size: 65% 100%;
  }

  .first {
    // list-style-type: none;
    // left: 240px;
    // top: 100px;
    // width: 240px;
    // height: 240px;
    // position: absolute;
    // transform-style: preserve-3d;
    // transform: rotateX(70deg) rotateZ(45deg);
    // perspective: 2000px;
    list-style-type: none;
    left: 134px;
    top: 87px;
    width: 471px;
    height: 310px;
    position: absolute;
    transform-style: preserve-3d;
    transform: rotateX(66deg) rotateZ(-2deg);
    perspective: 2000px;
    perspective-origin: 50% 100%;
    animation: trigle_down1 1s linear;
    -webkit-animation: trigle_down1 1s linear;
    perspective-origin: 50% 100%;
    animation: trigle_down1 1s linear;
    -webkit-animation: trigle_down1 1s linear;

    li {
      width: 100%;
      height: 100%;
      line-height: 200px;
      position: absolute;
      background-image: linear-gradient(#45fed4 1%, rgba(0, 96, 220, 1));
      opacity: 0.8;

      &:nth-child(1) {
        transform: rotateX(0deg) translateZ(-35px) scale(0.79);
        transform: rotateX(-9deg) rotateZ(-2deg) translateZ(14px) translateX(-4px) translateY(-4px) scale(0.72);
      }

      &:nth-child(2) {
        transform: translateZ(-100px) translateY(170px) rotateX(-70deg);
        height: 70px;
        line-height: 70px;
        transform-origin: 0 100%;
        clip-path: polygon(25px 0%, calc(100% - 25px) 0%, 100% 100%, 0% 100%);
      }

      &:nth-child(3) {
        transform: rotateX(-180deg) translateZ(100px);
      }

      &:nth-child(4) {
        height: 70px;
        line-height: 70px;
        transform-origin: 0 100%;
        transform: translateZ(-100px) translateY(-70px) rotateX(-110deg);
        clip-path: polygon(25px 0%, calc(100% - 25px) 0%, 100% 100%, 0% 100%);
      }

      &:nth-child(5) {
        width: 70px;
        transform-origin: 100% 100%;
        transform: translateZ(-100px) translateX(-70px) rotateY(110deg);
        clip-path: polygon(0% 25px, 100% 0%, 100% 100%, 0% calc(100% - 25px));
      }

      &:nth-child(6) {
        width: 70px;
        transform-origin: 100% 100%;
        transform: translateZ(-100px) translateX(170px) rotateY(70deg);
        clip-path: polygon(0% 25px, 100% 0%, 100% 100%, 0% calc(100% - 25px));
        background-image: linear-gradient(to left,
            rgba(0, 96, 220, 1),
            #45fed4);
      }
    }
  }

  .second {
    // list-style-type: none;
    // left: 261px;
    // top: 65px;
    // width: 200px;
    // height: 195px;
    // text-align: center;
    // position: absolute;
    // transform-style: preserve-3d;
    // transform: rotateX(70deg) rotateZ(45deg);
    list-style-type: none;
    left: 73px;
    top: 182px;
    width: 197px;
    height: 194px;
    text-align: center;
    position: absolute;
    transform-style: preserve-3d;
    transform: rotateX(76deg) rotateZ(88deg);
    perspective: 2000px;
    perspective-origin: 50% 100%;
    animation: trigle_down2 2s linear;
    -webkit-animation: trigle_down2 2s linear;

    li {
      width: 100%;
      height: 100%;
      position: absolute;
      background-image: linear-gradient(rgba(58, 200, 255, 0.8) 25%, #616cff);
      opacity: 0.8;

      &:nth-child(1) {
        transform: rotateX(0deg) rotateY(9deg) rotateZ(-2deg) translateZ(-11px) translateY(0px) translateX(13px) scale(0.71);
      }

      &:nth-child(2) {
        transform: translateZ(-80px) translateY(140px) rotateX(-68deg) rotateY(0deg) scale(1.4);
        height: 55px;
        line-height: 55px;
        transform-origin: 0 100%;
        clip-path: polygon(18px 0%, calc(100% - 18px) 0%, 100% 100%, 0% 100%);
      }

      &:nth-child(3) {
        transform: rotateX(-180deg) translateZ(100px);
      }

      &:nth-child(4) {
        height: 55px;
        line-height: 55px;
        transform-origin: 0 100%;
        transform: translateZ(-81px) translateY(-53px) rotateX(-110deg) scale(1.5);
        clip-path: polygon(18px 0%, calc(100% - 18px) 0%, 100% 100%, 0% 100%);
      }

      &:nth-child(5) {
        width: 55px;
        transform-origin: 100% 100%;
        transform: translateZ(-100px) translateX(-55px) rotateY(110deg);
        clip-path: polygon(0% 18px, 100% 0%, 100% 100%, 0% calc(100% - 18px));
      }

      &:nth-child(6) {
        width: 55px;
        transform-origin: 100% 100%;
        transform: translateZ(-100px) translateX(145px) rotateY(70deg);
        clip-path: polygon(0% 18px, 100% 0%, 100% 100%, 0% calc(100% - 18px));
      }
    }
  }

  .third {
    // list-style-type: none;
    // left: 292px;
    // top: 20px;
    // width: 140px;
    // height: 140px;
    // text-align: center;
    // position: absolute;
    // transform-style: preserve-3d;
    // transform: rotateX(70deg) rotateZ(45deg);
    list-style-type: none;
    left: 256px;
    top: 212px;
    width: 188px;
    height: 140px;
    text-align: center;
    position: absolute;
    transform-style: preserve-3d;
    transform: rotateX(71deg) rotateZ(-1deg);
    perspective: 2000px;
    perspective-origin: 50% 100%;
    animation: trigle_down3 3s linear;
    -webkit-animation: trigle_down3 3s linear;

    li {
      width: 100%;
      height: 100%;
      position: absolute;
      background-image: linear-gradient(#f1e04f 5%, rgba(253, 156, 48, 1));
      opacity: 0.8;

      &:nth-child(1) {
        transform: rotateX(-10deg) rotateY(0deg) translateZ(19px) translateX(-6px) translateY(0px) scale(.76);
      }

      &:nth-child(2) {
        transform: translateZ(-100px) translateY(61px) rotateX(-61deg);
        height: 76px;
        line-height: 80px;
        transform-origin: 0 100%;
        clip-path: polygon(18px 0%, calc(100% - 18px) 0%, 100% 100%, 0% 100%);
      }

      &:nth-child(3) {
        transform: rotateX(-173deg) translateZ(102px);
      }

      &:nth-child(4) {
        height: 97px;
        line-height: 80px;
        transform-origin: 0 100%;
        transform: translateZ(-100px) translateY(-56px) rotateX(-109deg);
        clip-path: polygon(18px 0%, calc(100% - 18px) 0%, 100% 100%, 0% 100%);
      }

      &:nth-child(5) {
        width: 56px;
        transform-origin: 100% 100%;
        transform: translateZ(-82px) translateX(-56px) rotateY(102deg) rotate(5deg) scale(1.72);
        clip-path: polygon(0% 18px, 100% 0%, 100% 100%, 0% calc(100% - 18px));
      }

      &:nth-child(6) {
        width: 113px;
        transform-origin: 100% 100%;
        transform: translateZ(-88px) translateY(11px) translateX(80px) rotateX(-11deg) rotateY(75deg) translateZ(-7px);
        clip-path: polygon(0% 18px, 100% 0%, 100% 100%, 0% calc(100% - 18px));
      }
    }
  }

  .four {
    list-style-type: none;
    left: 436px;
    top: 179px;
    width: 199px;
    height: 194px;
    text-align: center;
    position: absolute;
    transform-style: preserve-3d;
    transform: rotateX(76deg) rotateZ(88deg);
    perspective: 2000px;
    perspective-origin: 50% 100%;
    animation: trigle_down2 2s linear;
    -webkit-animation: trigle_down2 2s linear;

    li {
      width: 100%;
      height: 100%;
      position: absolute;
      background-image: linear-gradient(rgba(112, 245, 100, 0.8) 9%, #dbfe73);
      opacity: 0.8;

      &:nth-child(1) {
        transform: rotateX(0deg) translateZ(-49px) scale(0.81);
      }

      &:nth-child(2) {
        transform: translateZ(-104px) translateY(139px) rotateX(-70deg);
        height: 55px;
        line-height: 55px;
        transform-origin: 0 100%;
        clip-path: polygon(18px 0%, calc(100% - 18px) 0%, 100% 100%, 0% 100%);
      }

      &:nth-child(3) {
        transform: rotateX(-180deg) translateZ(100px);
      }

      &:nth-child(4) {
        height: 55px;
        line-height: 55px;
        transform-origin: 0 100%;
        transform: translateZ(-100px) translateY(-55px) rotateX(-110deg);
        clip-path: polygon(18px 0%, calc(100% - 18px) 0%, 100% 100%, 0% 100%);
      }

      &:nth-child(5) {
        width: 55px;
        transform-origin: 100% 100%;
        transform: translateZ(-100px) translateX(-55px) rotateY(110deg);
        clip-path: polygon(0% 18px, 100% 0%, 100% 100%, 0% calc(100% - 18px));
      }

      &:nth-child(6) {
        width: 55px;
        transform-origin: 100% 100%;
        transform: translateZ(-100px) translateX(145px) rotateY(70deg);
        clip-path: polygon(0% 18px, 100% 0%, 100% 100%, 0% calc(100% - 18px));
      }
    }
  }

  .chartsdom {
    width: 100%;
    height: 100%;
  }

  .arrow_contain {
    width: 80px;
    height: 100%;
    display: inline-block;

    &.arrow_contain1 {
      animation: clip_line 2s linear;
      -webkit-animation: clip_line 2s linear;
      float: right;
    }

    &.arrow_contain2 {
      animation: clip_line2 3s linear;
      -webkit-animation: clip_line2 3s linear;
      float: left;
    }

    &.arrow_contain3 {
      animation: clip_line3 4s linear;
      -webkit-animation: clip_line3 4s linear;
      float: right;
    }

    &.arrow_contain4 {
      animation: clip_line4 5s linear;
      -webkit-animation: clip_line4 5s linear;
      float: left;
    }

    .arrow {
      &.arrow_1 {
        width: 20px;
        height: 1px;
        background: #01ddb2;
        transform: rotate(30deg);
        display: inline-block;
        margin-top: 40px;

        &:before {
          content: "";
          width: 50px;
          height: 1px;
          background: #01ddb2;
          display: inline-block;
          transform: rotate(-30deg);
          position: absolute;
          left: 17px;
          top: -13px;
        }

        &:after {
          content: "";
          width: 5px;
          height: 5px;
          background: #01ddb2;
          display: inline-block;
          border-radius: 50%;
          position: absolute;
          top: -2px;
          box-shadow: 0px 0px 5px 1px #01ddb2;
          left: -2px;
        }
      }

      &.arrow_2 {
        width: 20px;
        height: 1px;
        background: #84a9ef;
        transform: rotate(-30deg);
        display: inline-block;
        margin-top: 40px;
        float: right;

        &:before {
          content: "";
          width: 50px;
          height: 1px;
          background: #84a9ef;
          display: inline-block;
          transform: rotate(30deg);
          position: absolute;
          left: -47px;
          top: -13px;
        }

        &:after {
          content: "";
          width: 5px;
          height: 5px;
          background: #84a9ef;
          display: inline-block;
          border-radius: 50%;
          position: absolute;
          top: -2px;
          box-shadow: 0px 0px 5px 1px #84a9ef;
          left: 17px;
        }
      }

      &.arrow_3 {
        width: 20px;
        height: 1px;
        background: #ff9232;
        transform: rotate(30deg);
        display: inline-block;
        margin-top: 40px;

        &:before {
          content: "";
          width: 50px;
          height: 1px;
          background: #ff9232;
          display: inline-block;
          transform: rotate(-30deg);
          position: absolute;
          left: 17px;
          top: -13px;
        }

        &:after {
          content: "";
          width: 5px;
          height: 5px;
          background: #ff9232;
          display: inline-block;
          border-radius: 50%;
          position: absolute;
          top: -2px;
          box-shadow: 0px 0px 5px 1px #ff9232;
          left: -2px;
        }
      }

      &.arrow_4 {
        width: 20px;
        height: 1px;
        background: #77f364;
        transform: rotate(-30deg);
        display: inline-block;
        margin-top: 40px;
        float: right;

        &:before {
          content: "";
          width: 50px;
          height: 1px;
          background: #77f364;
          display: inline-block;
          transform: rotate(30deg);
          position: absolute;
          left: -47px;
          top: -13px;
        }

        &:after {
          content: "";
          width: 5px;
          height: 5px;
          background: #77f364;
          display: inline-block;
          border-radius: 50%;
          position: absolute;
          top: -2px;
          box-shadow: 0px 0px 5px 1px #77f364;
          left: 17px;
        }
      }
    }
  }
}

@keyframes clip_line {
  0% {
    clip-path: polygon(100% 0, 100% 0%, 100% 0, 100% 0);
  }

  50% {
    clip-path: polygon(100% 0, 100% 0%, 100% 0, 100% 0);
  }

  75% {
    clip-path: polygon(50% 0, 100% 0%, 100% 100%, 50% 100%);
  }

  100% {
    clip-path: polygon(0% 0, 100% 0%, 100% 100%, 0% 100%);
  }
}

@keyframes clip_line2 {
  0% {
    clip-path: polygon(0% 0, 0% 0%, 0% 0, 0% 0);
  }

  66.66% {
    clip-path: polygon(0% 0, 0% 0%, 0% 0, 0% 0);
  }

  83% {
    clip-path: polygon(0% 0, 50% 0%, 50% 50%, 0% 50%);
  }

  100% {
    clip-path: polygon(0% 0, 100% 0%, 100% 100%, 0% 100%);
  }
}

@keyframes clip_line3 {
  0% {
    clip-path: polygon(100% 0, 100% 0%, 100% 0, 100% 0);
  }

  75% {
    clip-path: polygon(100% 0, 100% 0%, 100% 0, 100% 0);
  }

  93% {
    clip-path: polygon(50% 0, 100% 0%, 100% 100%, 50% 100%);
  }

  100% {
    clip-path: polygon(0% 0, 100% 0%, 100% 100%, 0% 100%);
  }
}

@keyframes clip_line4 {
  0% {
    clip-path: polygon(0% 0, 0% 0%, 0% 0, 0% 0);
  }

  70% {
    clip-path: polygon(0% 0, 0% 0%, 0% 0, 0% 0);
  }

  85% {
    clip-path: polygon(0% 0, 50% 0%, 50% 50%, 0% 50%);
  }

  100% {
    clip-path: polygon(0% 0, 100% 0%, 100% 100%, 0% 100%);
  }
}

@keyframes opacity_path {
  0% {
    opacity: 0;
  }

  66.7% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes opacity_path2 {
  0% {
    opacity: 0;
  }

  75% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes opacity_path3 {
  0% {
    opacity: 0;
  }

  80% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes opacity_path4 {
  0% {
    opacity: 0;
  }

  83.33% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes trigle_down1 {
  0% {
    top: -250px;
  }

  100% {
    top: 80px;
  }
}

@keyframes trigle_down2 {
  0% {
    top: -300px;
  }

  50% {
    top: -300px;
  }

  100% {
    top: 45px;
  }
}

@keyframes trigle_down3 {
  0% {
    top: -250px;
  }

  66.66% {
    top: -250px;
  }

  100% {
    top: 0;
  }
}

@keyframes trigle_down4 {
  0% {
    top: -250px;
  }

  75% {
    top: -250px;
  }

  100% {
    top: -28px;
  }
}

@keyframes trigle_move {
  0% {
    transform: rotateX(65deg) rotateZ(360deg);
  }

  100% {
    transform: rotateX(65deg) rotateZ(0deg);
  }
}

@keyframes trigle_move1 {
  0% {
    transform: rotateX(66deg) rotateZ(0deg);
  }

  100% {
    transform: rotateX(66deg) rotateZ(360deg);
  }
}

.select {
  position: absolute;
  right: 0;
}

.catalog {
  display: flex;
  width: 306px;
  height: 400px;
  position: relative;
  top: 6px;
  right: -25px;
  color: #fff;
  font-size: 18px;
  z-index: 9;

  .cat-type {
    width: 100%;
  }

  .arr {
    margin-bottom: 10px;
    // div {
    //   width: 40px;
    // }
  }

  .stu-names {
    display: flex;
    flex-wrap: wrap;

    .item {
      margin-right: 10px;
    }

    .el-button {
      width: 40px;
    }
  }
}

.arr0 {
  width: 200px;
  position: absolute;
  top: 103px;
  left: 276px;
}

.arr1 {
  width: 200px;
  position: absolute;
  top: 150px;
  left: 85px;
}

.arr2 {
  width: 200px;
  position: absolute;
  top: 189px;
  left: 490px;
}
</style>
